Ethernet is a frame-based networking technology for Local Area Networks (LANs). Ethernet networks use Ethernet switches to connect LANs. Ethernet switches uses Media Access Control (MAC) addresses, unique identifiers assigned to nodes of a network, to forward Ethernet frames from source nodes to destination nodes. MAC address learning is a basic property of bridged Ethernet networks, as defined in standards such as Institute of Electrical and Electronics Engineers (IEEE) 802.1Q-2003 (clause 8.7) and IEEE 802.1D-2004 (clause 7.8). MAC address learning is performed in order to maintain forwarding tables for use in forwarding frames, i.e., such that frames received at ingress ports of an Ethernet switch can be forwarded to the correct egress ports of the Ethernet switch.
An Ethernet switch having a control plane performing control functions and a forwarding plane performing frame forwarding functions is often partitioned into several Ethernet bridges spanning several physical line cards. Since MAC address learning is performed using a Forwarding Database, physical distribution of Ethernet bridges in existing Ethernet switches is implemented as a Master Forwarding Database maintained in the control plane and Local Forwarding Databases maintained in the forwarding plane. The Local Forwarding Databases are updated from the Master Forwarding Database. Specifically, line cards forward database updates to a central control processor which maintains the Master Forwarding Database. The central control processor distributes database updates from the Master Forwarding Database to Local Forwarding Databases maintained by each of the line cards, respectively.
MAC address learning may generate very large amounts of information. For example, if only previously unlearned addresses arrive at a 10 GBps Ethernet port (e.g., due to network reconfigurations), more than sixteen million learning requests per second may be generated for this Ethernet port alone. Disadvantageously, while processing such a high volume of learning requests may be feasible in non-distributed MAC address learning (where learning requests are concentrated on a single line card), processing such a high volume of learning requests may not be feasible in distributed MAC address learning. Furthermore, discarding such learning requests degrades overall network performance (because unlearned MAC addresses result in additional flooding of Ethernet traffic).
Disadvantageously, however, due to limited bandwidth between the line cards and the central control processor, the highly complex control path is only able to handle a small fraction of the forwarding path bandwidth. Since the control path is only able to handle a small fraction of the forwarding path bandwidth, many learning requests are dropped, resulting in network degradation. Furthermore, as demand for bandwidth in high-capacity Ethernet equipment continues to increase, while price pressures continue to drive reductions in control plane complexity, dropping of learning requests (and the resulting network degradation) is exacerbated.